<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>数据类型</title>
</head>
<body>
    <div>
        <ol>
            <li>
                <h4>基本数据类型</h4>
                <p>Python 中的变量不需要声明。每个变量在使用前都必须赋值，变量赋值以后该变量才会被创建。</p>
                <img src="../img/赋值变量.png" alt=""><br>
                <a href="https://www.runoob.com/try/runcode.php?filename=basic_data_type1&type=python3">实例</a>
            </li>
            <li>
                <h4>多个变量赋值</h4>
                <p>同时为多个变量赋值</p>
                <img src="../img/多变量赋值.png" alt=""><br>
                <p>也可以为多个对象指定多个变量</p>
                <img src="../img/多变量多赋值.png" alt="">
            </li>
            <li>
                <h4>标准数据类型</h4>
                <ul>
                    <li>Number（数字）</li>
                    <li>String（字符串）</li>
                    <li>bool（布尔类型）</li>
                    <li>List（列表）</li>
                    <li>Tuple（元组）</li>
                    <li>Set（集合）</li>
                    <li>Dictionary（字典）</li>
                </ul>
                <p style="color: red;">不可变数据（3 个）：Number（数字）、String（字符串）、Tuple（元组）</p>
                <p style="color: red;">可变数据（3 个）：List（列表）、Dictionary（字典）、Set（集合）</p>
            </li>
            <li>
                <h4>Number（数字）</h4>
                <p>Python3 支持 int、float、bool、complex（复数）</p>
                <p>内置的 type() 函数可以用来查询变量所指的对象类型</p>
                <img src="../img/type查看类型.png" alt="">
                <p>还可以用 isinstance 来判断</p>
                <img src="../img/isinstance查看类型.png" alt="">
                <ul>
                    <li>h4isinstance 和 type 的区别</li>
                    <li>type()不会认为子类是一种父类类型</li>
                    <li>isinstance()会认为子类是一种父类类型</li>
                    <img src="../img/type与isonstance.png" alt="">
                </ul>
                <p>Python3 中，bool 是 int 的子类，True 和 False 可以和数字相加， True==1、False==0 会返回 True，但可以通过 is 来判断类型。</p>
                <img src="../img/bool是int的子类.png" alt="">
            </li>
            <li>
                <h4>使用del语句删除单个或多个对象</h4>
                <img src="../img/del.png" alt="">
            </li>
            <li>
                <h4>数值运算</h4>
                <p>加减乘除</p>
                <img src="../img/加减乘除.png" alt="">
                <p>在混合计算时，Python会把整型转换成为浮点数</p>
            </li>
            <li>
                <h4>String（字符串）</h4>
                <p>字符串用单引号 ' 或双引号 " 括起来，同时使用反斜杠 \ 转义特殊字符。</p>
                <p>字符串的截取的语法格式如下:</p>
                <ul>
                    <li>变量[头下标:尾下标]</li>
                    <li>索引值以 0 为开始值，-1 为从末尾的开始位置</li>
                    <li><img src="../img/分割字符串.png" alt=""></li>
                    <li>加号 + 是字符串的连接符， 星号 * 表示复制当前字符串，与之结合的数字为复制的次数</li>
                </ul>
                <p><img src="../img/分割字符串实例.png" alt=""></p>
                <p>使用反斜杠 \ 转义特殊字符，如果你不想让反斜杠发生转义，可以在字符串前面添加一个 r，表示原始字符串</p>
                <img src="../img/转义字符.png" alt="">
                <p>Python 字符串不能被改变。向一个索引位置赋值，比如 word[0] = 'm' 会导致错误</p>
            </li>
            <li>
                <h4>bool（布尔类型）</h4>
                <P>布尔类型特点:</P>
                <ul>
                    <li>布尔类型只有两个值：True 和 False。</li>
                    <li>布尔类型可以和其他数据类型进行比较，比如数字、字符串等。在比较时，Python 会将 True 视为 1，False 视为 0。</li>
                    <li>布尔类型也可以被转换成其他数据类型，比如整数、浮点数和字符串。在转换时，True 会被转换成 1，False 会被转换成 0。</li>
                    <li>所有非零的数字和非空的字符串、列表、元组等数据类型都被视为 True，只有 0、空字符串、空列表、空元组等被视为 False。</li>
                </ul>
            </li>
            <li>
                <h4>List（列表）</h4>
                <p>列表是写在方括号 [] 之间、用逗号分隔开的元素列表。</p>
                <img src="../img/列表.png" alt=""><br>
                <img src="../img/列表1.png" alt="">
                <p style="color: red;">与Python字符串不一样的是，列表中的元素是可以改变的：</p>
                <img src="../img/列表3.png" alt="">
                <p>Python 列表截取可以接收第三个参数，参数作用是截取的步长，以下实例在索引 1 到索引 4 的位置并设置为步长为 2（间隔一个位置）来截取字符串</p>
                <p>如果第三个参数为负数表示逆向读取，以下实例用于翻转字符串</p>
                <img src="../img/列表5.png" alt="">
            </li>
            <li>
                <h4>Tuple（元组）</h4>
                <p>元组（tuple）与列表类似，不同之处在于元组的元素不能修改。元组写在小括号 () 里，元素之间用逗号隔开。</p>
                <p>元组与字符串类似，可以被索引且下标索引从0开始，-1 为从末尾开始的位置。</p>
                <p>其实，可以把字符串看作一种特殊的元组。</p>
                <p>虽然tuple的元素不可改变，但它可以包含可变的对象，比如list列表。</p>
                <p>构造包含 0 个或 1 个元素的元组比较特殊，所以有一些额外的语法规则</p>
                <img src="../img/元组.png" alt="">
            </li>
            <li>
                <h4>Set（集合）</h4>
                <p style="color: red;">集合（Set）是一种无序、可变的数据类型，用于存储唯一的元素。</p>
                <p>集合中的元素不会重复，并且可以进行交集、并集、差集等常见的集合操作。</p>
                <p>集合使用大括号 {} 表示，元素之间用逗号 , 分隔。另外，也可以使用 set() 函数创建集合</p>
                <p>创建一个空集合必须用 set() 而不是 { }，因为 { } 是用来创建一个空字典。</p>
                <img src="../img/集合.png" alt="">
            </li>
            <li>
                <h4>Dictionary（字典）</h4>
                <p>列表是有序的对象集合，字典是无序的对象集合。两者之间的区别在于：字典当中的元素是通过键来存取的，而不是通过偏移存取。</p>
                <p>字典是一种映射类型，字典用 { } 标识，它是一个无序的 键(key) : 值(value) 的集合。</p>
                <p>键(key)必须使用不可变类型。</p>
                <p>在同一个字典中，键(key)必须是唯一的。</p>
                <img src="../img/字典.png" alt="">
            </li>
        </ol>
    </div>
    <div>
        <a href="https://www.runoob.com/python3/python3-basic-syntax.html">Python3教程</a>
        <br>
        <a href=""></a>
    </div>
</body>
</html>